/**
 * 普通js函数操作
 * */

var table
var laydate;
var form;
layui.config({
    base:'./'
}).extend({
    step: '../static/step-lc/step'
}).use(['table','laydate'], function() {
    table = layui.table;
    laydate = layui.laydate;
    let $ = layui.$;
    form = layui.form;
    // 默认先显示第一项
    schoolGradationYears();
});



/**
 * 普通搜索
 * formId：表单id
 * tableId：表格id
 * */
function
reloadTable(formId,tableId){
    var data = form.val(formId);
    table.reload(tableId,{
        where:data
    });
}

/**
 * 带日期范围搜索
 * formId：表单id
 * tableId：表格id
 * 该函数包含验证日期范围某项不能为空条件
 * */
function reloadTableAndDate(formId,tableId){

    var data = form.val(formId);
    if(data.dataYearEnd != "" && data.dataYearStart == ""){
        layer.msg("请选择开始日期！")
        return;
    }
    if(data.dataYearEnd == "" && data.dataYearStart != ""){
        layer.msg("请选择结束日期！")
        return;
    }
    table.reload(tableId,{
        where:data
    });
}


/*
* 重置
* divId：当前模块div的id
* */
function addRole(divId) {
    eval(divId+"()")
}

/*
* 查询年度日期框
* */
dateYearSelect();
function dateYearSelect(){
    var date = new Date();
    var yearSelect = "";
    for(i = date.getFullYear(); i>=2017;i--){
        yearSelect += "<option>"+i+"</option>";
    }
    $(".yearSelect").append($(yearSelect));
}

/*
* 日期范围框
* divEl：整体边框父元素
* */
function dateRange(divEl){

    // var dataYearStart = $("#"+divEl+" #dataYearStart");
    // var dataYearEnd = $("#"+divEl+" #dataYearEnd");
    var maxDate = new Date();
    var startDateMax = (maxDate.getFullYear()-2)+"-12-31";
    var startDate = laydate.render({
        elem: "#"+divEl+" #dataYearStart",
        type: 'year',
        btns: ['confirm'],
        max: startDateMax,//默认最大值为当前日期
        min: '2017-1-1',
        done: function (value, date) {
            if (value != "") {
                // date.year = date.year+2;
                endDate.config.min.year = date.year+2;
                // date.year = date.year-2;
                // 设置最大时间，不得超过十年
                var dateTen = date.year+10;
                var currentDate = new Date();
                if(currentDate.getFullYear()>dateTen){
                    date.year = dateTen;
                    endDate.config.max = date;
                }
            } else {
                endDate.config.min = startDate.config.min;
            }
        }
    });
    var endDate = laydate.render({
        elem: "#"+divEl+" #dataYearEnd",
        type: 'year',
        btns: ['confirm'],
        max: 'nowTime',//默认最大值为当前日期
        min: '2019-1-1',
        done: function (value, date) {
            if (value != "") {
                date.year = date.year-2;
                startDate.config.max = date;
            } else {
                startDate.config.max = endDate.config.max;
            }
        }
    })
}



function exportExcel(formId , url) {
    let formdata = form.val(formId);
    if(formdata.dataYearEnd != "" && formdata.dataYearStart == ""){
        layer.msg("请选择开始日期！")
        return;
    }
    if(formdata.dataYearEnd == "" && formdata.dataYearStart != ""){
        layer.msg("请选择结束日期！")
        return;
    }

    let param = '?'
    for(let key in formdata ){
        param += key + "="+  formdata[key] + "&"
    }
    param = param.substring( 0 , param.length-1)
    window.location.href = '/oauthplatform/' + url + param
}

function exportMajorExcel(formId , url, title) {
    let formData = form.val(formId);
    let param = '?title=' + title + '&';
    for(let key in formData ){
        param += key + "="+  formData[key] + "&"
    }
    param = param.substring( 0 , param.length-1)
    window.location.href = '/oauthplatform/' + url + param
}

// 数组拆分
// size每组数组多少个，如：8
// array需要拆分的数组
function arrayChunk(array, size){
    let data = []
    for (let i = 0; i < array.length; i += size) {
        data.push(array.slice(i, i + size))
    }
    return data
}


/*
 * 鼠标划入显示节流函数体
 * */
// function throttle(fn,areaName) {
//     // 4、通过闭包保存一个标记
//     let canRun = true;
//     return function() {
//         // 5、在函数开头判断标志是否为 true，不为 true 则中断函数
//         if(!canRun) {
//             return;
//         }
//         // 6、将 canRun 设置为 false，防止执行之前再被执行
//         canRun = false;
//         // 7、定时器
//         setTimeout( () => {
//             fn.call(this, arguments);
//             // 8、执行完事件（比如调用完接口）之后，重新将这个标志设置为 true
//             canRun = true;
//         }, 2000);
//     };
// }
// function a(){
//     console.log("123");
// }


